package account

import (
	"errors"
	"orm_gin/model"
	"orm_gin/orm"
	"orm_gin/utools/jwttool"
	"orm_gin/utools/res"

	"github.com/gin-gonic/gin"
)

// @BasePath /account

// @Summary 登录
// @Description token
// @Tags 账号
// @Param Account query string true "postName"
// @Param Password query string true "postCode"
// @Success 200 {object} docsmodel.ResLogin
// @Router /account/login [post]
// @Security
func Login(c *gin.Context) {

	var data model.LoginParams
	var user model.UserInfo

	if err := c.ShouldBind(&data); err == nil {
		r := orm.DB.Where("account=?", data.Account).Find(&user)

		if r.Error != nil {
			res.Error(c, 0, r.Error, "gorm 查询用户出现错误")
			return
		}
		if data.Password != user.Password {
			res.Error(c, 0, errors.New("密码输入不正确"), "密码输入不正确")
			return
		}
		// 生成token
		token, _ := jwttool.Gentoken(user.Id)
		res.Ok(c, token, "登录成功")
	}
}
